﻿const request = require('request');
const fs = require('fs');
//1.爬虫模块
var Crawler = require("crawler");

let j = 0
//  批量爬虫是必须设置定时器,否则图片会显示不全
let timerId = setInterval(() => {
  j++
  //  167是爬取图片的页数
  if (j >= 167) {
    clearInterval(timerId)
  }
  var c = new Crawler({
    maxConnections: 10,
    callback: function (error, res, done) {
      if (error) {
        console.log(error);
      } else {
        var $ = res.$
        //  寻找图片标签 遍历,$同jQuery语法一致
        $(".mbig_pic_list .mbig_pic_list_li dl dd a ").each((i, ele) => {
          //  设置图片保存名
          let name = 'jiang' + j + i;
          //  获取图片url地址
          let img_src = $(ele).find('img').attr('src');
          // let hz = img.split('.').pop()
          // console.log(hz);
          //存入本地
          //采用request模块，向服务器发起一次请求，获取图片资源
          request.head(img_src, function (err, res, body) {
            if (err) {
              console.log(err);
            }
          });

          var img_filename = name + '.png';
          request(img_src).pipe(fs.createWriteStream('./jiangApi/' + img_filename));     //通过流的方式，把图片写到本地/image目录下，并用新闻的标题和图片的标题作为图片的名称。
        })
      }
      done();



    }
  });
  //  需要爬取图片的源网站地址
  c.queue('https://m.mm.enterdesk.com/' + j + '.html');
}, 10000)
